#include <stdio.h>

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <unistd.h>


int main(){
   
   printf("stdin %d\n", STDIN_FILENO);
   printf("stdout %d\n", STDOUT_FILENO);
   printf("stderr %d\n", STDERR_FILENO);
   
   close(STDOUT_FILENO); // 关闭标准输出的文件号

   umask(0);    // 禁用umask
   int fd = open("1.log", O_CREAT|O_WRONLY|O_APPEND, 0777);
   umask(0002); // 恢复原来的umask值
   

   printf("hahaha\n");
   printf("123\n");
   printf("disen\n");
   printf("666\n");

   close(fd);
   return 0;
}
